package com.open.capacity.salary.service;

import com.open.capacity.salary.entity.GzItem;

import com.open.capacity.commons.PageResult;

import java.util.Map;
import java.util.List;

/**
 * 工资系统款项表
 *
 * @author
 * @email
 * @date 2021-08-02 14:26:51
 */
public interface GzItemService {

    /**
     * 初始化
     *
     * @param companyId
     */
    int init(String companyId, String ztId);

    /**
     * 添加
     *
     * @param gzItem
     */
    int save(GzItem gzItem);

    /**
     * 修改
     *
     * @param gzItem
     */
    int update(GzItem gzItem);

    /**
     * 设置公式
     *
     * @param keyValue
     * @param formula
     */
    int setFormula(String keyValue, String formula);

    /**
     * 删除
     *
     * @param id
     */
    int delete(String id);


    /**
     * 查询记录
     *
     * @param id
     * @return
     */
    GzItem findById(String id);


    /**
     * 查询记录
     *
     * @param companyId
     * @param ztId
     * @return
     */
    List<GzItem> findByZtId(String companyId, String ztId);


    /**
     * 查询记录
     *
     * @param companyId
     * @param ztIds
     * @return
     */
    List<String> findByZtIds(String companyId, String ztIds);

    /**
     * 查询记录
     *
     * @param companyId
     * @return
     */
    List<GzItem> findByCompanyId(String companyId);

    /**
     * 分页
     *
     * @param params
     * @return
     */
    PageResult<GzItem> pageAll(Map<String, Object> params);

    /**
     * 列表
     *
     * @param params
     * @return
     */
    List<GzItem> findAll(Map<String, Object> params);
}

